home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / rem_acc / bdrag10.zip / SYSOP.DOC < prev    next >
Text File  |  1996-05-17  |  53KB  |  1,534 lines

  1.                                                                       
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10. ┌───────────────────────────────────────┐
  11. │                                       │
  12. │   ·                      ∙         ·  │
  13. │    .           .         :     .      │
  14. │                     ·    :            │
  15. │           .              |            │
  16. │                          │            │
  17. │             ··  ─   ── ──┼── ──  ─  ··│
  18. │   .                      │            │
  19. │                          |            │
  20. │                 .        :      .     │
  21. │           ·              ∙            │
  22. │  ·    .                            ·  │
  23. │                     ·                 │
  24. │          ·     .                      │
  25. │                      /\       .    ·  │                                  
  26. │   .                /^  ^\             │      A Guide to Concerto Scripts   
  27. │           █▄█▄█▄█/^\     ^\      /\   │                  Revision 960517
  28. │            ▄ ▄ ▄    ^\     ^\  /^  ^\ │       Copyright 1995-1996 Altair
  29. │           /▄▄ ▄▄             /^       │
  30. │         /^ ▄ ▄ ▄  \        /^         │
  31. │ ^\    /^   ▄▄ ▄▄   ^\    /^     /\    │
  32. │   ^\/^     ▄ ▄ ▄       /^     /^  ^\  │
  33. │     ^\     ▄▄ ▄▄            /^      ^ │
  34. │            ▄ ▄ ▄  \       /^          │
  35. │       /^\  ▄▄ ▄▄   ^\   /^            │
  36. │     /^   ^\  ▄ ▄                      │
  37. │   /^       ^\  ▄   /\          /\     │
  38. │ /^           ^\  /^  ^\      /^  ^\   │
  39. │                 ^      ^\          ^\ │
  40. │           /\                          │
  41. │         /^  ^\       /\               │
  42. │       /^       \   /^  ^\             │
  43. │     /^           /^                   │
  44. │                /^                     │
  45. │                                       │
  46. │                                       │
  47. │                                       │
  48. └───────────────────────────────────────┘
  49.                        
  50.   
  51.  
  52.  
  53.   Using This Manual
  54.  
  55.     
  56.  
  57.     Generalizations
  58.  
  59.     This document is a reference guide to features found in many products
  60.     designed with the Concerto Door Development Kit.  At this time please
  61.     refer to the alternate documentation supplied with your software.
  62.  
  63.  
  64.  
  65.     Technicality
  66.  
  67.     We assume that you are familiar with MS-DOS paths, enviroment 
  68.     variables and command-line parameters.  You may wish to review
  69.     these concepts before using this manual.
  70.  
  71.  
  72.  
  73.     Icons
  74.  
  75.       o~    The Wizard      This icon is next to sections containing somewhat
  76.     */\\>                   technical information of interest to experienced
  77.       < \                   sysops.
  78.  
  79.  
  80.       ,  ,
  81.       \o/   The Neophyte    This icon appears next to sections intended                               
  82.       //                    for novices.
  83.      <<      
  84.                                                            
  85.  
  86.       ()    The Spectre     Always heed the warnings of the Spectre. 
  87.      /\/\                   
  88.     ` || ;    
  89.       |'   
  90.       '    
  91.       '    
  92.  
  93.  
  94.     Altair: Behold the Future (tm)
  95.  
  96.     This document is copyrighted (c) 1995-1996 Altair.  All rights are
  97.     reserved worldwide.  Send your comments to Altair, P.O. Box 175,
  98.     Stillwater, MN 55082-0175.  Copyright and trademark acknowledments
  99.     appear near the end of this document.
  100.  
  101.                                       
  102.   r e q u i r e m e n t s
  103.   ──────────────────────────────────────────────────────────────────────────
  104.  
  105.  
  106.   80x86 IBM PC                 This software will run on any IBM-compatible 
  107.                                computer using an Intel 80x86 CPU.  Some
  108.                                features, however, are disabled if a 286 or
  109.                                higher is not detected.  Some mathematical
  110.                                operations will utilize the 386/486 CPU, if
  111.                                detected.
  112.  
  113.  
  114.   256K Conventional Memory     A typical session requires at least 256K RAM.
  115.                                Some programs may use EMS and XMS memory
  116.                                if detected.
  117.  
  118.  
  119.   MS-DOS 3.3 or Equivalent     The software will automatically detect and
  120.                                release time slices to DesqView, Windows/286,
  121.                                Windows 3.x, Windows NT, Windows 95 and OS/2.
  122.  
  123.  
  124.   FOSSIL Driver                A FOSSIL driver allows the program to access
  125.                                your communications hardware in a device-
  126.                                independent manner.  You must install a
  127.                                FOSSIL driver specific to your hardware or
  128.                                operating system.  Drivers are available for
  129.                                DOS, Windows 95 and OS/2.
  130.  
  131.  
  132.   SHARE.EXE                    A file-sharing driver is required if you are
  133.                                using a multi-tasking or networked enviroment.
  134.                                SHARE.EXE manages conflicts when two or more
  135.                                instances of the program try to access the
  136.                                same file.  Type HELP SHARE at your MS-DOS
  137.                                prompt for more information.
  138.  
  139.  
  140.   EGA/VGA Video Card           Several aesthetic effects are enabled if
  141.                                an EGA or VGA graphics card is detected.
  142.                                Most of these effects are purely for the
  143.                                enjoyment of the sysop and do not affect the
  144.                                functionality of the software. 
  145.  
  146.   o v e r v i e w 
  147.   ──────────────────────────────────────────────────────────────────────────
  148.  
  149.   o  Scripts are totally free-form.  You may use any style of
  150.      indentation and capitalization.  More than one command may
  151.      exist on a single line, and parameters can extend across
  152.      multiple lines.
  153.  
  154.   o  A semicolon forces the software to ignore the rest of the
  155.      text on the current line.  This is a good way of placing
  156.      comments in a script.
  157.  
  158.   o  Assigning a value to a variable is easy:
  159.  
  160.      Let VARIABLE = VALUE
  161.       │   │       │  └────── The value to store in the variable
  162.       │   │       └───────── Optional assignment operator
  163.       │   └───────────────── The name of the variable
  164.       └───────────────────── Optional keyword
  165.  
  166.  
  167.  
  168.   BOOLEAN VARIABLES (aka TRUE/FALSE)
  169.  
  170.     ┌───────────────┐
  171.     │  True   False │  Examples:
  172.     ├───────┬───────┤
  173.     │   +   │   -   │    Variable = +
  174.     │   1   │   0   │    Variable = 0
  175.     │   T   │   F   │    Variable = True
  176.     │   Y   │   N   │    Variable = No
  177.     └───────┴───────┘
  178.      
  179.  
  180.   CHARACTER VALUES
  181.  
  182.     There are several ways specifying a single character:
  183.  
  184.       a. Normal           Variable = a
  185.       b. Literal          Variable = " "
  186.       c. Decimal          Variable = #99
  187.       d. Hexadecimal      Variable = $FF
  188.       e. Control          Variable = ^C                      
  189.  
  190.  
  191.   NUMERIC VALUES
  192.  
  193.       a. Decimal          Variable = 255
  194.       b. Hexadecimal      Variable = $FF
  195.  
  196.  
  197.   STRING VARIABLES
  198.  
  199.     You must enclose the string in double quotation marks (").  
  200.     
  201.   m a c r o s  
  202.   ──────────────────────────────────────────────────────────────────────────
  203.  
  204.   Variables can be imbedded in any text file or string.  Such a variable
  205.   is called a macro.  The simplest type of macro looks like this:
  206.  
  207.  
  208.          {Variable}
  209.          │  │     │
  210.          │  │     └─ Right delimiter
  211.          │  └─────── The name of a variable
  212.          └────────── Left delimiter
  213.  
  214.  
  215.   The software automatically replaces the macro with the value of the
  216.   variable.  In some cases it may be desirable to format the result
  217.   to a certain length of characters (i.e. to align columns).  This is
  218.   done by using the optional size parameter:
  219.  
  220.  
  221.          {Variable:Size}
  222.                   │  │
  223.                   │  └─ The size of the result.
  224.                   └──── Colon
  225.  
  226.  
  227.   The value of the variable will be clipped or padded to ensure the
  228.   desired length.  By default the result is left-justified.  You
  229.   can right-justify the string by using a negative sign:
  230.  
  231.  
  232.          {Variable:-Size}
  233.                    │
  234.                    └─ Negative sign between the colon and the size
  235.  
  236.  
  237.   The next section describes the functions and variables accessible to you.
  238.  
  239.                                        
  240.  
  241.   s c r i p t s
  242.   ──────────────────────────────────────────────────────────────────────────
  243.  
  244.     Application = STRING
  245.  
  246.       The name of the door.
  247.  
  248.  
  249.     Author = STRING
  250.  
  251.       The author of the door.
  252.  
  253.  
  254.     AVATARClrScrColor = 3 or 7
  255.  
  256.       According to the AVATAR specification (FSC-0025), a control-l (^L)
  257.       clears the screen and resets the current color to 3 (cyan).
  258.       Some systems, however, change the color to 7 (lightgray).  This
  259.       variable contains your preference.   It should be 3 or 7; any other
  260.       color will confuse your callers.
  261.  
  262.  
  263.     Baud = CONNECTION RATE
  264.  
  265.       The current baud rate of the connection, or 0 for local sessions.
  266.  
  267.  
  268.     BBSName = STRING
  269.  
  270.       The name of your BBS.  This information is loaded from some drop files.
  271.  
  272.  
  273.     Build = STRING
  274.  
  275.       This is the version number of the development kit used to build
  276.       the door.  The string is in the following format:
  277.  
  278.         YYMMDD
  279.         │ │ └─ Day of release
  280.         │ └─── Month of release
  281.         └───── Year of release
  282.  
  283.       This number is also listed at the start of this documentation.
  284.  
  285.  
  286.     Bye
  287.  
  288.       Exits the door after some cleanup.  This is the same as calling
  289.       the Exit function with an errorlevel of zero. 
  290.  
  291.  
  292.     Chat
  293.  
  294.       Activates a line-by-line chat mode with a number of extended
  295.       features, including slash commands and a fully configurable
  296.       color system.
  297.  
  298.       A special command interpreter can be activated by pressing
  299.       the forward slash key (/) while the cursor is on the left
  300.       column of the screen.  Any command or variable described
  301.       in this section can be accessed.  For obvious security
  302.       reasons, this feature cannot be activated or seen by the
  303.       remote caller.
  304.  
  305.  
  306.     ChatExecPrompt = STRING
  307.  
  308.       The string shown to the sysop after he/she presses the slash
  309.       key to enter a script command.  The string is not displayed to
  310.       the remote caller.
  311.  
  312.  
  313.     ChatGoodbye = STRING
  314.  
  315.       The string sent to the caller after you exit chat mode (either
  316.       through a chat command or by pressing escape).  A CR/LF sequence
  317.       is not appended to the string.
  318.  
  319.  
  320.     ChatGreeting = STRING
  321.  
  322.       The initial string sent to the remote caller when you break into
  323.       chat mode.  A carriage-return/line-feed sequence is not appended
  324.       to the string.
  325.  
  326.  
  327.     ChatSysopDigit = COLOR         ChatUserDigit = COLOR
  328.     ChatSysopHiBit = COLOR         ChatUserHiBit = COLOR
  329.     ChatSysopLower = COLOR         ChatUserLower = COLOR
  330.     ChatSysopPunct = COLOR         ChatUserPunct = COLOR
  331.     ChatSysopUpper = COLOR         ChatUserUpper = COLOR
  332.  
  333.       These settings allow you to change the color scheme used
  334.       in the chat you.  You may wish to refer to the IceChatColors command.
  335.  
  336.       ...Digit  =  Numbers
  337.       ...HiBit  =  IBM extended ASCII characters
  338.       ...Lower  =  Lower-case letters
  339.       ...Punct  =  Punctuation and misc. characters
  340.       ...Upper  =  Upper-case letters
  341.  
  342.  
  343.     ChDir DIRSPEC
  344.  
  345.       Changes to the specified directory. 
  346.  
  347.  
  348.     CheckSnow = BOOLEAN
  349.  
  350.       Set this value to TRUE if you see any flickering during a screen
  351.       update.  This will force the software to slow down all video output.
  352.       Most computers can safely set this value to FALSE.
  353.  
  354.  
  355.     ClrEOL
  356.  
  357.       Erases the text from the cursor position to the end of the current
  358.       line.  ANSI or AVATAR graphics is required.
  359.  
  360.  
  361.     ClrEOLWith COLOR
  362.  
  363.       Much like ClrEOL, except that you may change the color at the
  364.       same time.
  365.  
  366.  
  367.     ClrScr
  368.  
  369.       Clears the screen.  The status line, if visible, is not affected.
  370.       The screen will be cleared using the current text color.
  371.  
  372.  
  373.     ClrScrWith COLOR
  374.  
  375.       Changes the current color and clears the screen at the same time.
  376.       The status line is not affected by this command.
  377.  
  378.  
  379.     CLS, CLSWith
  380.  
  381.       These commands are identical to ClrScr and ClrScrWith.
  382.  
  383.  
  384.     Color COLOR
  385.  
  386.       This function changes the current text color.
  387.  
  388.  
  389.     Columns = NUMBER
  390.  
  391.       * Menu scripts only
  392.  
  393.       The number of columns of the internal menu display.
  394.  
  395.  
  396.     CommandLine = STRING
  397.  
  398.       The exact command-line passed to the door game. 
  399.  
  400.  
  401.     ComPort = 1, 2, 3 or 4
  402.  
  403.       The communications port.  Do not use this variable unless you
  404.       are unable to use a drop file or a command-line parameter.  Never
  405.       modify this setting after you have initialized the FOSSIL driver.
  406.       Doing so may cause a device contention error and lock up your BBS.
  407.  
  408.  
  409.     Copyright = STRING
  410.  
  411.       This variable contains the copyright notice for the software.
  412.  
  413.  
  414.     CRLF
  415.  
  416.       Outputs a carriage-return/line-feed sequence.
  417.  
  418.  
  419.     DBS = BOOLEAN
  420.     
  421.       Destructive Backspaces.  You must set this value to TRUE if any
  422.       remote terminals erase the character to the left of the cursor
  423.       when the backspace key is received.  Certain features are disabled
  424.       when DBS is TRUE, since the software does not have full control
  425.       of the caller's screen.
  426.  
  427.  
  428.     DecTimeLeft MINUTES
  429.  
  430.       Decreases the number of minutes remaining in this session.
  431.  
  432.  
  433.     Delay MILLISECONDS
  434.  
  435.       Pauses for the specified time.  The delay perceived by the remove
  436.       caller may not match this time -- characters may be in transit during
  437.       the delay period.
  438.  
  439.  
  440.     DeleteID IDENTIFIER
  441.  
  442.       Deletes the internal record of an identifier.  An identifier is
  443.       a label, function or variable.  This command is for debugging
  444.       only.
  445.  
  446.         ()     This command is reserved for debugging and technical
  447.        /\/\    support.  Deleting an identifier may change the behavior
  448.       ` || ;   of the door.
  449.         |'
  450.         '
  451.         '      
  452.  
  453.  
  454.     DetectANSI MESSAGE
  455.  
  456.       The door attempts to detect ANSI capabilities on the remote system.
  457.       You may wish to send a message to the caller, since this process
  458.       causes a short delay.  This command is ignored in local sessions.
  459.  
  460.         o~     The software sends the ANSI sequence ESC[6n.  ANSI-
  461.       */\\>    capable terminals will return the current position of 
  462.         < \    cursor.  
  463.  
  464.  
  465.     DirectVideo = BOOLEAN
  466.  
  467.       If TRUE, the software will write directory to video memory when
  468.       updating the screen.  Both monochrome and color monitors are supported.
  469.       If you are using a multi-tasker and notice text "bleeding", try
  470.       changing this value to FALSE.
  471.  
  472.  
  473.     Display FILESPEC
  474.  
  475.       Displays the specified file.  The file must exist in the directory
  476.       specified with the TextDir variable, or the EXE directory if
  477.       a text files directory has not been specified.
  478.  
  479.       Since the software automatically converts and optimizes color codes
  480.       at run-time (including accurate Color->ASCII conversion), there is
  481.       no need for the multi-extension system used by some BBS packages.
  482.       For convienence, the default extension is ANS -- even though the
  483.       file can contain color codes of any type.
  484.  
  485.  
  486.     Draw = STRING
  487.  
  488.       * Menu scripts only
  489.  
  490.       The command(s) to execute when drawing the menu.  May wish to
  491.       clear the screen or display a text file.
  492.  
  493.  
  494.     DropFile = <PATH><NAME>
  495.  
  496.       The full path and name of the drop file created by your BBS. 
  497.       Currently DOOR.SYS and DORINFOx.DEF are supported.  
  498.  
  499.  
  500.     Exit ERRORLEVEL
  501.  
  502.       Exits with the given errorlevel.
  503.  
  504.  
  505.     ExitChat
  506.  
  507.       Terminates the chat-mode. 
  508.  
  509.  
  510.     FadeOut
  511.     FadeIn
  512.     
  513.       These commands invoke text fading.  FadeOut fades the screen from
  514.       the current colors to pure black.  All subsequent output is invisible.
  515.       FadeIn restores the color palette.  These commands do not affect the
  516.       remote screen.  An EGA or VGA card is required.
  517.  
  518.  
  519.     FileName = PATH [READ ONLY]
  520.  
  521.       * Menu scripts only
  522.  
  523.       The DOS filename of the menu.  This variable is intended for use
  524.       as a macro only.
  525.  
  526.  
  527.     Format = STRING
  528.  
  529.       * Menu scripts only
  530.  
  531.       The format of each item in the internal menu display.
  532.       You may use these additional macros:
  533.  
  534.       {Bar}   The text shown in the lightbar.
  535.       {Exec}  The optional command(s) to execute when the item is selected.
  536.       {Key}   The hotkey to select the item.
  537.       {Text}  Help text.
  538.  
  539.  
  540.     FOSSILPort = 0, 1, 2 or 3
  541.  
  542.       This is the actual communications port used by the FOSSIL driver.
  543.       It may differ from the value stored in the ComPort variable.  You
  544.       should never modify this value.
  545.  
  546.  
  547.     GetParam CHAR, VARIABLE
  548.  
  549.       Copies a command-line parameter into a variable.  The variable
  550.       is not changed if the parameter was not used.  The standard
  551.       initialization script (INIT.SCR) uses the following:
  552.  
  553.       GetParam B, Baud             Baud rate
  554.       GetParam C, ComPort          Communications port
  555.       GetParam N, Node             Node number
  556.       GetParam O, Locked           Locked baud rate
  557.       GetParam P, DropFile         Full name and path to the drop file
  558.  
  559.       Command-line parameters are in the format <SWITCH><FLAG>[DATA]:
  560.  
  561.         Switch       Either a slash (/) or a dash (-).
  562.         Flag         The flag character (see above).
  563.         Data         Optional data.
  564.  
  565.       Spaces can exist between the flag character and the data. 
  566.  
  567.  
  568.     GotoXY COLUMN, ROW
  569.  
  570.       Moves the cursor to the specified column and row.  The remote caller
  571.       must have ANSI or AVATAR graphics for this command to work.
  572.  
  573.  
  574.     Halt ERRORLEVEL
  575.  
  576.       Immediately terminates the door with no clean up (restoring the
  577.       original video mode, removing the status line, etc).  Refer to
  578.       the Exit command for a cleaner method of terminating the door.
  579.  
  580.  
  581.     HangUp
  582.  
  583.       Drops carrier.  The program is not terminated.  
  584.  
  585.         o~    The program will first lower the DTR line.                   
  586.       */\\>   If this fails, "+++ATH0" is sent to the modem. 
  587.         < \ 
  588.  
  589.  
  590.     HideStatus
  591.  
  592.       Hides the status line.
  593.  
  594.  
  595.     Home
  596.  
  597.       Moves the cursor to the upper-left corner of the screen without
  598.       affecting the existing screen.  This is often used in animations.
  599.       The remote caller must have ANSI or AVATAR graphics for this command
  600.       to work.
  601.  
  602.  
  603.     IceChatColors
  604.  
  605.       Replaces the current chat color scheme with the same colors used by
  606.       IceChat (a product of Jeremey Landvoigt).
  607.  
  608.  
  609.     IncTimeLeft MINUTES
  610.  
  611.       Increases the number of minutes remaining in this session.  
  612.  
  613.  
  614.     InitFOSSIL
  615.  
  616.       Activates the door using the communications information collected
  617.       from the command-line parameters and the drop file (if used).  If
  618.       successfull, all subsequence I/O operations affect both the remote
  619.       and the local terminal.
  620.  
  621.         ()     Never change any communications variables after this    
  622.        /\/\    command.  You may cause a device contention error, a
  623.       ` || ;   system crash, or, at best, highly unpredictable results.
  624.         |'   
  625.         '      Re: Baud, ComPort, Locked, Node 
  626.  
  627.  
  628.     Item ID
  629.  
  630.       * Menu scripts only
  631.  
  632.       This command begins a new menu definition.  The script interpreter
  633.       then expects to find the following assignments:
  634.  
  635.       Bar  = STRING   Lightbar text for this item.
  636.       Exec = STRING   Optional commands to execute if this item is selected.
  637.       Key  = STRING   Hotkey for this item.
  638.       Text = STRING   Help text for this item.
  639.  
  640.       Example:
  641.  
  642.         Item 0 Key  = "?"
  643.                Bar  = " Help "
  644.                Exec = "Display Help"
  645.                Text = "More information..."
  646.  
  647.       The ID is a software-dependent number.  If the ID for the selected
  648.       item is 0, the software will execute the optional commands (as
  649.       specified by Exec, then rerun the menu.  If the ID is not zero,
  650.       the program will execute the commands then *return* the the program.
  651.       The program can then take appropriate action based on the ID.
  652.  
  653.       This system allows you to change the order of the items, add new
  654.       items, or the modify the items without affecting the functionality
  655.       of the door.
  656.  
  657.  
  658.     Internal = BOOLEAN
  659.  
  660.       * Menu scripts only
  661.  
  662.       Should the menu be displayed using the Format variable?  Or would
  663.       you rather just execute the command(s) in the Draw variable?  
  664.  
  665.  
  666.     Let VARIABLE = VALUE
  667.  
  668.       Assigns a value to a variable.  The "Let" keyword is optional.
  669.       The equal sign can also be dropped.
  670.  
  671.  
  672.     LightBar = BOOLEAN
  673.  
  674.       * Menu scripts only
  675.  
  676.       If TRUE, the caller will be able to select an item by pressing
  677.       the space and backspace keys.  If FALSE, the caller must press
  678.       one of the hotkeys of the menu.
  679.  
  680.  
  681.     LineNoise
  682.  
  683.       Generates fake line noise.  The sole purpose of this function
  684.       is to annoy the caller. 
  685.  
  686.  
  687.     LoadDropFile
  688.  
  689.       Loads the drop file specified by the DropFile variable (see above).
  690.       Currently DOOR.SYS and DORINFOx.DEF is supported.
  691.  
  692.  
  693.     Locked = BAUDRATE
  694.  
  695.       The computer <-> modem locked baud rate, if applicable.  A locked
  696.       baud rate will increase through-put on many systems.  Do not change
  697.       this setting after you have initialized the FOSSIL driver.
  698.  
  699.  
  700.     MacroFiller = CHARACTER
  701.  
  702.       The default character used to fill-out expanded macros.  The  
  703.       designer of an external screen may over-ride the default 
  704.       character with the ~M control code.
  705.  
  706.  
  707.     Menu NAME, PATHNAME
  708.  
  709.       * Internal use only at this time.
  710.  
  711.       Loads a menu script.  NAME is used to identify this particular
  712.       menu in the future.  Be sure to use a unique name (i.e. do not
  713.       use a name already used by a function or variable).  PATHNAME
  714.       is the DOS path to the menu script.  Use the RunMenu command to
  715.       execute the menu at any time.  
  716.  
  717.  
  718.     MenuName = STRING [READ ONLY]
  719.  
  720.       * Menu scripts only
  721.  
  722.       The name of the menu, as defined by the Menu command (see above).
  723.       This variable is intended for use as a macro only.
  724.  
  725.  
  726.     MkDir DIRSPEC
  727.  
  728.       Creates the specified directory.
  729.  
  730.  
  731.     Node = NUMBER
  732.  
  733.       The current node number.  This information is required for certain
  734.       inter-program communications.  You may also use the -N command-line
  735.       parameter.  The default node is 1.
  736.  
  737.  
  738.     Pause
  739.  
  740.       Stops any output and waits for a keystroke.  This is equivilant
  741.       to the ~p control code. 
  742.  
  743.  
  744.     Prompt = STRING
  745.  
  746.       * Menu scripts only
  747.  
  748.       The prompt shown on the bottom of the menu.
  749.  
  750.  
  751.     Randomize <SEED>
  752.  
  753.       Initializes the random-number generator, where <SEED> can
  754.       be a number greater than zero, TIMER, or ASK.
  755.  
  756.       Timer     Uses the system clock to initialize the random-number
  757.                 generator.  This results in a different sequence each
  758.                 time the program is executed.
  759.  
  760.       Ask       Prompts the caller for a seed.  
  761.  
  762.  
  763.     Reboot Cold
  764.     Reboot Warm
  765.     Reboot Reset
  766.  
  767.       These three commands allow you to remotely reboot the computer.
  768.       A warm reboot skips the initial memory test on most computers.  A
  769.       cold reboot includes the memory test.
  770.  
  771.       Warm and Cold reboots are incompatible with many operating systems.
  772.       If a Cold or Warm reboot causes a General Protection Fault (GPF) on
  773.       your system, try using the Reset parameter.
  774.  
  775.       The Reset method uses the 8042 keyboard controller chip to invoke
  776.       a hardware reset of the CPU.  This method bypasses the operating system
  777.       and will not cause a General Protection Fault.  HOWEVER, all tasks
  778.       on the system will be lost.  
  779.  
  780.       A hardware reset requires a 286 with an enhanced keyboard.
  781.  
  782.  
  783.     Ring
  784.  
  785.       Simulates the sound of a telephone ring on the local computer.
  786.  
  787.  
  788.     RmDir DIRSPEC
  789.  
  790.       Removes the specified directory.
  791.  
  792.  
  793.     RunMenu MENUNAME
  794.  
  795.       * Internal use only at this time.
  796.  
  797.       Executes a menu previously loaded with the Menu command.  
  798.  
  799.  
  800.     ScriptDir = DIRECTORY
  801.  
  802.       The location of any scripts.  All scripts (with the exception of
  803.       INIT.SCR) must exist in this directory.  INIT.SCR must exist in the
  804.       same directory containing the EXE of the door.
  805.  
  806.  
  807.     Security = LEVEL
  808.  
  809.       The security level of the caller.  Modifying this value will
  810.       have not affect the caller's security level after he or she
  811.       exits the door.  
  812.  
  813.  
  814.     ShowStatus LABEL
  815.  
  816.       Activates the specified status line, where LABEL is an identifier
  817.       declared earlier in the initialization script:
  818.  
  819.         Status <LABEL> = <TEXT>
  820.         Status <LABEL> = <TEXT>
  821.           :
  822.           :
  823.         Status <LABEL> = <TEXT>
  824.  
  825.       Depending on the position of the cursor, the local screen may be
  826.       scrolled up to accomodate the status line.  The remote caller is
  827.       not affected by this scrolling.  
  828.  
  829.  
  830.     Siren RESOLUTION, AMPLITUDE, MIDLINE, DELAY, COUNT
  831.  
  832.       This command generates a cosine siren on the local computer.
  833.  
  834.         1    ∙  .                               .  ∙
  835.              │     ∙                         ∙                 
  836.              │       ∙                     ∙
  837.              │        ∙                   ∙
  838.         0  ──┼───────────────────────────────────────
  839.              │         ∙                 ∙
  840.              │          ∙               ∙
  841.              │            ∙           ∙
  842.        -1    │               ∙  .  ∙
  843.                                                       
  844.              0        π/2       π        3π/2      2π
  845.  
  846.       Notice that the cosine graph repeats one full cycle every
  847.       2π (6.28) units.  This is the basis for many different sirens.
  848.       The sound at any given point is calculated from this curve.
  849.  
  850.       RESOLUTION     The cosine curve is divided into a large number of
  851.                      steps.  The siren cycles through each step and creates
  852.                      a sound based on the curve at that step.  The number of
  853.                      steps is the resolution of the siren.
  854.  
  855.       AMPLITUDE      Each step is multiplied by the amplitude.  Since the
  856.                      peaks of the curve have a maximum value of +1 and a
  857.                      minimum value of -1, this generates an effective
  858.                      range of -AMPLITUDE to +AMPLITUDE.
  859.  
  860.       MIDLINE        The middle frequency (i.e. the line through the
  861.                      middle of the curve).  The final range of the siren
  862.                      is MIDLINE-AMPLITUDE to MIDLINE+AMPLITUDE.
  863.  
  864.       DELAY          This parameter allows you to tweak the speed of
  865.                      the siren, which is dependent of the clock speed of
  866.                      the CPU.  Adjust this factor if the siren sounds bad.
  867.  
  868.       COUNT          The number of times to repeat the siren. 
  869.  
  870.  
  871.     StartAt NUMBER
  872.  
  873.       * Menu scripts only
  874.  
  875.       The initial location of the lightbar, if lightbars are activated.  
  876.  
  877.  
  878.     Status NAME, SIZE, STRING
  879.  
  880.       Creates a status line with the specified name and size.
  881.  
  882.         ,  ,
  883.         \o/   When you execute a ShowStatus command, the software disables
  884.         //    all of the IO drivers except for the one handling the local
  885.        <<     screen.  After drawing the status line, the program restores
  886.               the suspended drivers and continues as normal.
  887.  
  888.        The program does not clear the bottom of the screen before displaying
  889.        the status text.  This reduces flicker.  Just remember to include
  890.        a ~CE control-code after each line of text.  This erases any extra
  891.        characters that have not been erased by the new status line.
  892.  
  893.  
  894.     SysKey SCANCODE, COMMAND
  895.  
  896.       Associates a keystroke (such as ALT-H) with a command (such as
  897.       HangUp).  A list of commonly-used keystrokes can be found in
  898.       the appendix.
  899.  
  900.       o  Avoid using hotkeys that are intercepted by your operating system.
  901.       o  SysKeys cannot be used remotely.
  902.  
  903.  
  904.     SysopFirst = STRING
  905.     SysopLast  = STRING
  906.  
  907.       The name of the sysop.
  908.  
  909.  
  910.     TextDir = DIRECTORY
  911.  
  912.       The location of any ASCII, ANSI and AVATAR files.  The default
  913.       directory is the program directory.  Never use the root directory
  914.       of your hard drive, the system directory of your BBS package, or
  915.       any directory containing secret or sensitive files.
  916.  
  917.  
  918.     Threshold = NUMBER
  919.  
  920.       Use this variable to tweak the performance of the door under a
  921.       multitasker.  Low numbers force the door to give up time to
  922.       the operating system.  Higher values increase the performance
  923.       of the door, but may decrease the performance of any other
  924.       concurrent applications.  You must find a value that balances
  925.       the needs of the door and the rest of your system.  The default
  926.       value is 500.  
  927.  
  928.             
  929.     TimeLeft = MINUTES
  930.  
  931.       The number of minutes remaining in this session. 
  932.  
  933.  
  934.     TimeOut = SECONDS
  935.  
  936.       The number of seconds of inactivity (no keystrokes) before the door
  937.       automatically aborts.  The default value is 180 seconds (3 minutes).
  938.  
  939.  
  940.     TimeOutCode = NUMBER
  941.  
  942.       The errorlevel if a timeout occurs.
  943.  
  944.  
  945.     Tone HERTZ, MILLISECONDS
  946.  
  947.       Makes a sound of the specified hertz for any number of milliseconds.
  948.       The remote caller is not affected by this command.
  949.  
  950.  
  951.     UserFirst = STRING
  952.     UserLast  = STRING
  953.  
  954.       The name of the caller.
  955.  
  956.  
  957.     Version = STRING
  958.  
  959.       This is the version of the door.  The format of this number is
  960.       MAJOR.MINOR.STATUS:
  961.  
  962.         Major     Major version
  963.         Minor     Minor version (bug fix, etc)
  964.  
  965.         Status    α (Alpha)     Private distribution only
  966.                   ß (Beta)      Public beta
  967.                   Γ (Gamma)     Public gamma
  968.                   C (Custom)    Custom; restricted distribution
  969.                   + (Reg'd)     Registered
  970.  
  971.       You may wish to refer to the Build variable.
  972.  
  973.  
  974.     Write STRING
  975.     WriteLn STRING
  976.  
  977.       Writes the specified text on the screen.  Any macros and control
  978.       codes are processed.  WriteLn sends an additional CR/LF sequence.  
  979.  
  980.  
  981.   f o r m a t t i n g · c o d e s
  982.   ──────────────────────────────────────────────────────────────────────────
  983.                                                  
  984.   A formatting code (also called a control-code) performs an action, such
  985.   as clearing the screen or positioning the cursor.  A formatting code
  986.   begins with a tilde character (~), followed by one or more parameters.
  987.  
  988.   NOTE: Formatting codes are CaSe SeNseTiVe!
  989.  
  990.     ~~         Displays a single tilde character (~).
  991.    
  992.     ~|         Expands into a carriage return/line feed (CR/LF) sequence.
  993.  
  994.     ~#xx       Repeats the last printed character XX times.  XX is in 
  995.                decimal notation and must be two digits.
  996.  
  997.     ~cf        Generate a "fake" cursor.
  998.     ~ch        Positions the cursor in the upper-left corner (ANS/AVT).
  999.     ~cr        Restores a saved cursor position.
  1000.     ~cs        Saves the current cursor position.
  1001.  
  1002.     ~CH        Positions the cursor in the upper-left corner (ANS/AVT).
  1003.     ~CS        Clears the screen.
  1004.     ~CE        Clears to the end of the current line.
  1005.     ~C-        Fades the screen to black.
  1006.     ~C+        Restores a faded screen.
  1007.  
  1008.     ~f<file>|  Displays the specified file.  The filename can be terminated
  1009.                with any invalid filename character.  Most BBS packages use
  1010.                the pipe character.
  1011.  
  1012.     ~kp        Purges the keyboard buffer.
  1013.  
  1014.     ~p         Pauses                  
  1015.  
  1016.     ~x!        Halts with no cleanup.
  1017.     ~xh        Hangs up on the caller.
  1018.     ~xx        Exits the door in a normal fashion. 
  1019.  
  1020.   h e x · c o l o r s 
  1021.   ──────────────────────────────────────────────────────────────────────────
  1022.  
  1023.   Hexadecimal color systems have gained popularity in last few years.
  1024.   These color systems allow the sysop to specify a color using
  1025.   the hexadecimal representation of the color.
  1026.  
  1027.   o The hex value must always be two digits.
  1028.   o The first digit contains the background color.
  1029.   o The second digit contains the foreground color.
  1030.   o To make the a foreground blink, add eight to the first digit.
  1031.  
  1032.  
  1033.  
  1034.                           Table A: Color Code Formats
  1035.  
  1036.   Color System           Format     Notes
  1037.   ─────────────────────────────────────────────────────────────────────────
  1038.   HexPipe                |**        Not the same as Renegade's system.
  1039.   PCBoard BBS            @X**
  1040.   RemoteAccess BBS       ^K[**      ^K = ASCII #11
  1041.   WildCat! BBS           @**@
  1042.  
  1043.  
  1044.  
  1045.                           Table B: Hexadecimal Chart
  1046.  
  1047.   Bits    Hex   Dec    Description      Bits    Hex    Dec    Description
  1048.   ──────────────────────────────────────────────────────────────────────────
  1049.   0000  ·  0  ·  0  ·  Black            1000  ·  8  ·   8  ·  Dark Gray
  1050.   0001  ·  1  ·  1  ·  Blue             1001  ·  9  ·   9  ·  Light Blue
  1051.   0010  ·  2  ·  2  ·  Green            1010  ·  A  ·  10  ·  Light Green
  1052.   0011  ·  3  ·  3  ·  Cyan             1011  ·  B  ·  11  ·  Light Cyan
  1053.   0100  ·  4  ·  4  ·  Red              1100  ·  C  ·  12  ·  Light Red
  1054.   0101  ·  5  ·  5  ·  Magenta          1101  ·  D  ·  13  ·  Light Magenta
  1055.   0110  ·  6  ·  6  ·  Brown            1110  ·  E  ·  14  ·  Yellow
  1056.   0111  ·  7  ·  7  ·  Light-Gray       1111  ·  F  ·  15  ·  Bright White
  1057.  
  1058.  
  1059.  
  1060.                             Table C: Bitmap Chart
  1061.  
  1062.                          msb         lsb 
  1063.                          0 0 0 0 0 0 0 0
  1064.                          │ │ │ │ │ └─┴─┴─ Foreground color
  1065.                          │ │ │ │ └─────── High-intensity bit
  1066.                          │ └─┴─┴───────── Background color
  1067.                          └─────────────── Blinking bit
  1068.  
  1069.                                        
  1070.  
  1071.   a n s i 
  1072.   ──────────────────────────────────────────────────────────────────────────
  1073.  
  1074.   ESC[xA          Cursor Up            
  1075.   ESC[xB          Cursor Down          
  1076.   ESC[xC          Cursor Right
  1077.   ESC[xD          Cursor Left
  1078.  
  1079.     These four sequences provide simple cursor positioning.  The one
  1080.     parameter specifies the number of columns or rows to change -- it is
  1081.     not an absolute coordinate.  The cursor will not move outside of the
  1082.     boundries of the video screen.  If you do not use a parameter, it
  1083.     defaults to 1.
  1084.  
  1085.     See: ESC[xf
  1086.  
  1087.  
  1088.   ESC[y;xf        Position Cursor
  1089.   ESC[y;xH        Position Cursor (alternate sequence)
  1090.  
  1091.     Moves the cursor to the specified position, where Y is the vertical
  1092.     row and X is the horizontal column.  The upper-left corner of the  
  1093.     screen is (0,0).  If you do not specify a position, it defaults to
  1094.     (0,0) (home position).
  1095.  
  1096.     See: ESC[xA, ESC[xB, ESC[xC, ESC[xD
  1097.  
  1098.   
  1099.   ESC[xJ          Clear Screen
  1100.  
  1101.     If x is 2, the entire video screen is cleared.
  1102.  
  1103.     See: ESC[K
  1104.  
  1105.  
  1106.   ESC[K           Clear to End of Line
  1107.  
  1108.     Erases all characters located between the cursor position and the
  1109.     right-most column of the screen. 
  1110.  
  1111.   
  1112.   ESC[x;y;...m    Change Color Attribute
  1113.  
  1114.        #     Mask *   Description
  1115.       ─────────────────────────────────────────────────────────────────
  1116.        0   00000111   Turns off all attributes and resets the color to 7.
  1117.        1   ----1---   Turns on Bold (the high-intensity bit).
  1118.        5   1-------   Turns on Blinking (the blinking bit).
  1119.       
  1120.       30   -----000   Foreground Black     (IBM Color 0)
  1121.       31   -----100   Foreground Red       (IBM Color 4)
  1122.       32   -----010   Foreground Green     (IBM Color 2)
  1123.       33   -----110   Foreground Yellow    (IBM Color 6)
  1124.       34   -----001   Foreground Blue      (IBM Color 1)
  1125.       35   -----101   Foreground Magenta   (IBM Color 5)
  1126.       36   -----011   Foreground Cyan      (IBM Color 3)
  1127.       37   -----111   Foreground White     (IBM Color 7)
  1128.       
  1129.       40   -000----   Background Black     (IBM Color 0)
  1130.       41   -100----   Background Red       (IBM Color 4)
  1131.       42   -010----   Background Green     (IBM Color 2)
  1132.       43   -110----   Background Yellow    (IBM Color 6)
  1133.       44   -001----   Background Blue      (IBM Color 1)
  1134.       45   -101----   Background Magenta   (IBM Color 5)
  1135.       46   -011----   Background Cyan      (IBM Color 3)
  1136.       47   -111----   Background White     (IBM Color 7)
  1137.  
  1138.       * Mask: These are the bits affected in the TextAttr byte.
  1139.               A dash (-) indicates an unaffected bit.  
  1140.  
  1141.  
  1142.   ESC[s           Save Cursor Position
  1143.   ESC[u           Restore Cursor Position
  1144.  
  1145.     Saves the current position of the cursor.  You can later restore the 
  1146.     cursor position with the ESC[u sequence.
  1147.  
  1148.   a v a t a r 
  1149.   ──────────────────────────────────────────────────────────────────────────
  1150.  
  1151.   The following information is based on FSC-0025.TXT (23 Aug 1988).
  1152.   AVATAR was developed by Wynn Wagner II and George A. Stansilav.
  1153.  
  1154.   There are two forms of AVATAR:
  1155.  
  1156.     Full Session         o  Exchange of caller and system information
  1157.                          o  Text windows with scrolling 
  1158.                          o  Line-noise elimination
  1159.                          o  Cursor manipulation
  1160.                          o  Color
  1161.  
  1162.     Basic Session        o  Cursor manipulation
  1163.                          o  Color
  1164.     
  1165.  
  1166.   Only basic AVATAR commands are supported.  The control caret (^)  
  1167.   indicates a control character (i.e. ^V indicates CONTROL-V, or ASCII #22).
  1168.  
  1169.     ^L                    Clears the screen.  
  1170.                        
  1171.     ^V^Aa                 Changes to the specified attribute.  Note: The
  1172.                           hi-bit (blinking bit) of the attribute is stripped.
  1173.                           If you want blinking text, you must use the
  1174.                           ^V^B code.
  1175.  
  1176.     ^V^B                  Activates blinking text.
  1177.  
  1178.     ^V^C                  Moves the cursor up.
  1179.     ^V^D                  Moves the cursor down.
  1180.     ^V^E                  Moves the cursor left.
  1181.     ^V^F                  Moves the cursor right.
  1182.  
  1183.     ^V^G                  Clears any text from the cursor to the rightmost
  1184.                           column of the screen.
  1185.  
  1186.     ^V^Hxy                Moves the cursor to the specified position.
  1187.  
  1188.     ^Ycx                  Writes the specifed character X number of times.
  1189.  
  1190.  
  1191.   a s c i i · c h a r a c t e r s 
  1192.   ──────────────────────────────────────────────────────────────────────────
  1193.  
  1194.  
  1195.    Dec  Hx  Abr    Dec  Hx  Abr    Dec  Hx  Abr    Dec  Hx  Abr
  1196.    ------------------------------------------------------------
  1197.     00  00  nul     08  08  bs      16  10  dle     24  18  can
  1198.     01  01  soh     09  09  tab     17  11  dc1     25  19  em
  1199.     02  02  stx     10  0A  lf      18  12  dc2     26  1A  eof
  1200.     03  03  etx     11  0B  vt      19  13  dc3     27  1B  esc
  1201.     04  04  eot     12  0C  np      20  14  dc4     28  1C  fs
  1202.     05  05  enq     13  0D  cr      21  15  nak     29  1D  gs
  1203.     06  06  ack     14  0E  so      22  16  syn     30  1E  rs
  1204.     07  07  bel     15  0F  si      23  17  etb     31  1F  us
  1205.  
  1206.  
  1207.    Dec  Hx  C      Dec  Hx  C      Dec  Hx  C      Dec  Hx  Abr
  1208.    ------------------------------------------------------------
  1209.     32  20  sp      56  38  8       80  50  P      104  68  h
  1210.     33  21  !       57  39  9       81  51  Q      105  69  i
  1211.     34  22  "       58  3A  :       82  52  R      106  6A  j
  1212.     35  23  #       59  3B  ;       83  53  S      107  6B  k
  1213.     36  24  $       60  3C  <       84  54  T      108  6C  l
  1214.     37  25  %       61  3D  =       85  55  U      109  6D  m
  1215.     38  26  &       62  3E  >       86  56  V      110  6E  n
  1216.     39  27  '       63  3F  ?       87  57  W      111  6F  o
  1217.     40  28  (       64  40  @       88  58  X      112  70  p
  1218.     41  29  )       65  41  A       89  59  Y      113  71  q
  1219.     42  2A  *       66  42  B       90  5A  Z      114  72  r
  1220.     43  2B  +       67  43  C       91  5B  [      115  73  s
  1221.     44  2C  ,       68  44  D       92  5C  \      116  74  t
  1222.     45  2D  -       69  45  E       93  5D  ]      117  75  u
  1223.     46  2E  .       70  46  F       94  5E  ^      118  76  v
  1224.     47  2F  /       71  47  G       95  5F  _      119  77  w
  1225.     48  30  0       72  48  H       96  60  `      120  78  x
  1226.     49  31  1       73  49  I       97  61  a      121  79  y
  1227.     50  32  2       74  4A  J       98  62  b      122  7A  z
  1228.     51  33  3       75  4B  K       99  63  c      123  7B  {
  1229.     52  34  4       76  4C  L      100  64  d      124  7C  |
  1230.     53  35  5       77  4D  M      101  65  e      125  7D  }
  1231.     54  36  6       78  4E  N      102  66  f      126  7E  ~
  1232.     55  37  7       79  4F  O      103  67  g      127  7F  
  1233.  
  1234.    
  1235.  
  1236.  
  1237.    IBM Extended Characters
  1238.  
  1239.    Non-IBM/DOS terminals may not correctly display the following
  1240.    characters.  You may wish to instruct your users to switch to
  1241.    a font supporting the IBM Extended Character Set.  This is 
  1242.    required in Microsoft Terminal for Windows 3.1x and many other
  1243.    terminals using a graphical enviroment.
  1244.  
  1245.    Dec  Hx  C      Dec  Hx  C      Dec  Hx  C      Dec  Hx  Abr
  1246.    ------------------------------------------------------------
  1247.    128  80  Ç      160  A0  á      192  C0  └      224  E0  α
  1248.    129  81  ü      161  A1  í      193  C1  ┴      225  E1  ß
  1249.    130  82  é      162  A2  ó      194  C2  ┬      226  E2  Γ
  1250.    131  83  â      163  A3  ú      195  C3  ├      227  E3  π
  1251.    132  84  ä      164  A4  ñ      196  C4  ─      228  E4  Σ
  1252.    133  85  à      165  A5  Ñ      197  C5  ┼      229  E5  σ
  1253.    134  86  å      166  A6  ª      198  C6  ╞      230  E6  µ
  1254.    135  87  ç      167  A7  º      199  C7  ╟      231  E7  τ
  1255.    136  88  ê      168  A8  ¿      200  C8  ╚      232  E8  Φ
  1256.    137  89  ë      169  A9  ⌐      201  C9  ╔      233  E9  Θ
  1257.    138  8A  è      170  AA  ¬      202  CA  ╩      234  EA  Ω
  1258.    139  8B  ï      171  AB  ½      203  CB  ╦      235  EB  δ
  1259.    140  8C  î      172  AC  ¼      204  CC  ╠      236  EC  ∞
  1260.    141  8D  ì      173  AD  ¡      205  CD  ═      237  ED  φ
  1261.    142  8E  Ä      174  AE  «      206  CE  ╬      238  EE  ε
  1262.    143  8F  Å      175  AF  »      207  CF  ╧      239  EF  ∩
  1263.    144  90  É      176  B0  ░      208  D0  ╨      240  F0  ≡
  1264.    145  91  æ      177  B1  ▒      209  D1  ╤      241  F1  ±
  1265.    146  92  Æ      178  B2  ▓      210  D2  ╥      242  F2  ≥
  1266.    147  93  ô      179  B3  │      211  D3  ╙      243  F3  ≤
  1267.    148  94  ö      180  B4  ┤      212  D4  ╘      244  F4  ⌠
  1268.    149  95  ò      181  B5  ╡      213  D5  ╒      245  F5  ⌡
  1269.    150  96  û      182  B6  ╢      214  D6  ╓      246  F6  ÷
  1270.    151  97  ù      183  B7  ╖      215  D7  ╫      247  F7  ≈
  1271.    152  98  ÿ      184  B8  ╕      216  D8  ╪      248  F8  °
  1272.    153  99  Ö      185  B9  ╣      217  D9  ┘      249  F9  ∙
  1273.    154  9A  Ü      186  BA  ║      218  DA  ┌      250  FA  ·
  1274.    155  9B  ¢      187  BB  ╗      219  DB  █      251  FB  √
  1275.    156  9C  £      188  BC  ╝      220  DC  ▄      252  FC  ⁿ
  1276.    157  9D  ¥      189  BD  ╜      221  DD  ▌      253  FD  ²
  1277.    158  9E  ₧      190  BE  ╛      222  DE  ▐      254  FE  ■
  1278.    159  9F  ƒ      191  BF  ┐      223  DF  ▀      255  FF
  1279.  
  1280.    
  1281.  
  1282.   s c a n · c o d e s 
  1283.   ──────────────────────────────────────────────────────────────────────────
  1284.  
  1285.   Letters and Numbers (hexadecimal)
  1286.  
  1287.      Alt-A = 1E00    Alt-B = 3000    Alt-C = 2E00    Alt-D = 2000
  1288.      Ctl-A = 1E01    Ctl-B = 3002    Ctl-C = 2E03    Ctl-D = 2004
  1289.      
  1290.      Alt-E = 1200    Alt-F = 2100    Alt-G = 2200    Alt-H = 2300
  1291.      Ctl-E = 1205    Ctl-F = 2106    Ctl-G = 2207    Ctl-H = 2308
  1292.      
  1293.      Alt-I = 1700    Alt-J = 2400    Alt-K = 2500    Alt-L = 2600
  1294.      Ctl-I = 1709    Ctl-J = 240A    Ctl-K = 250B    Ctl-L = 260C
  1295.  
  1296.      Alt-M = 3200    Alt-N = 3100    Alt-O = 1800    Alt-P = 1900
  1297.      Ctl-M = 320D    Ctl-N = 310E    Ctl-O = 180F    Ctl-P = 1910
  1298.  
  1299.      Alt-Q = 1000    Alt-R = 1300    Alt-S = 1F00    Alt-T = 1400
  1300.      Ctl-Q = 1011    Ctl-R = 1312    Ctl-S = 1F13    Ctl-T = 1414
  1301.  
  1302.      Alt-U = 1600    Alt-V = 2F00    Alt-W = 1100    Alt-X = 2D00
  1303.      Ctl-U = 1615    Ctl-V = 2F16    Ctl-W = 1117    Ctl-X = 2D18
  1304.  
  1305.      Alt-Y = 1500    Alt-Z = 2C00    Pad-1 = 4F31    Pad-2 = 5032
  1306.      Ctl-Y = 1519    Ctl-Z = 2C1A    Alt-1 = 7800    Alt-2 = 7900
  1307.  
  1308.      Pad-3 = 5133    Pad-4 = 4B34    Pad-5 = 4C35    Pad-6 = 4D36
  1309.      Alt-3 = 7A00    Alt-4 = 7B00    Alt-5 = 7C00    Alt-6 = 7D00
  1310.  
  1311.      Pad-7 = 4737    Pad-8 = 4838    Pad-9 = 4939    Pad-0 = 5230
  1312.      Alt-7 = 7E00    Alt-8 = 7F00    Alt-9 = 8000    Alt-0 = 8100
  1313.  
  1314.  
  1315.   Function Keys (hexadecimal)
  1316.  
  1317.           F1 = 3B00            F2 = 3C00            F3 = 3D00
  1318.       Alt-F1 = 6800        Alt-F2 = 6900        Alt-F3 = 6A00
  1319.       Ctl-F1 = 5E00        Ctl-F2 = 5F00        Ctl-F3 = 6000
  1320.       Shf-F1 = 5400        Shf-F2 = 5500        Shf-F3 = 5600
  1321.  
  1322.           F4 = 3E00            F5 = 3F00            F6 = 4000
  1323.       Alt-F4 = 6B00        Alt-F5 = 6C00        Alt-F6 = 6D00
  1324.       Ctl-F4 = 6100        Ctl-F5 = 6200        Ctl-F6 = 6300
  1325.       Shf-F4 = 5700        Shf-F5 = 5800        Shf-F6 = 5900
  1326.  
  1327.           F7 = 4100            F8 = 4200            F9 = 4300        
  1328.       Alt-F7 = 6E00        Alt-F8 = 6F00        Alt-F9 = 7000        
  1329.       Ctl-F7 = 6400        Ctl-F8 = 6500        Ctl-F9 = 6600        
  1330.       Shf-F7 = 5A00        Shf-F8 = 5B00        Shf-F9 = 5C00        
  1331.  
  1332.           F0 = 4400
  1333.       Alt-F0 = 7100
  1334.       Ctl-F0 = 6700
  1335.       Shf-F0 = 5D00 
  1336.  
  1337.  
  1338.   Cursor Keys (hexadecimal)
  1339.  
  1340.      Arrow Up   = 4800     Arrow Down  = 5000
  1341.      Arrow Left = 4B00     Arrow Right = 4D00
  1342.                     
  1343.      End        = 4F00     Home        = 4700
  1344.      Page Up    = 4900     Page Down   = 5100 
  1345.  
  1346.   e r r o r s 
  1347.   ──────────────────────────────────────────────────────────────────────────
  1348.  
  1349.   You will see a message if the software cannot recover from an error.
  1350.   The specific error code will be identified.  Please write it down
  1351.   for future reference, then check your setup.
  1352.  
  1353.   ╔══════════╤════════════╤══════════════════════════════════════════╗
  1354.   ║ Catagory │ Num. Range │ Recovery Method (if possible)            ║
  1355.   ╟──────────┼────────────┼──────────────────────────────────────────╢
  1356.   ║ DOS      │ 001 .. 099 │ Generally handled by the software        ║
  1357.   ║ I/O      │ 100 .. 149 │ Generally handled by the software        ║
  1358.   ║ Critical │ 150 .. 199 │ You may be required to correct the error ║
  1359.   ║ Fatal    │ 200 .. 255 │ Always crashes the program               ║
  1360.   ╚══════════╧════════════╧══════════════════════════════════════════╝
  1361.  
  1362.  
  1363.     2 : File not found
  1364.     3 : Path not found
  1365.  
  1366.         You are specifying a non-existent file or directory.  Make sure
  1367.         that ScriptDir and TextDir contain valid directory names.
  1368.  
  1369.  
  1370.     4 : Too many open files
  1371.  
  1372.         Try increasing the FILES=xx setting in your CONFIG.SYS file.
  1373.         
  1374.  
  1375.     5 : File access denied
  1376.  
  1377.         o  Is the directory full?
  1378.         o  Did you specify a directory name rather than a file name?
  1379.         o  Are you trying to rename a file to an existing name?
  1380.         o  Are you trying to delete a read-only file?
  1381.         o  Are you trying to remove a directory that is not empty?
  1382.         o  Are you trying to remove the root directory?
  1383.         o  Did you specify a device driver?  
  1384.  
  1385.            AUX        Auxiliary Device
  1386.            CLOCK$     System Clock
  1387.            COM1       Communications Port 1
  1388.            COM2       Communications Port 2
  1389.            COM3       Communications Port 3
  1390.            COM4       Communications Port 4
  1391.            CON        Console
  1392.            EMMXXXX0   Expanded Memory Manager
  1393.            LPT1       Parallel Port 1
  1394.            LPT2       Parallel Port 2
  1395.            LPT3       Parallel Port 3
  1396.            NUL        Nul Output Device
  1397.            PRN        Printer
  1398.            XMSXXXX0   Extended Memory Manager 
  1399.  
  1400.  
  1401.     8 : Insufficient memory
  1402.  
  1403.         ■ Use the memory-swapping feature of your BBS software
  1404.         ■ Remove TSRs from memory
  1405.         ■ Remove unnecessary drivers from CONFIG.SYS
  1406.         ■ Reduce your FILES and BUFFERS settings in CONFIG.SYS, if possible
  1407.  
  1408.  
  1409.   162 : Hardware failure
  1410.  
  1411.         ■ DOS encountered a hardware failure, or
  1412.         ■ A file sharing violation has occurred, or
  1413.         ■ The network reported an error.
  1414.  
  1415.  
  1416.   200 : Division by zero
  1417.  
  1418.         The program attempted to divide a number by zero, which is
  1419.         mathematically undefined.  This is either an internal error
  1420.         or you have assigned a bad value to some variable.
  1421.  
  1422.  
  1423.   203 : Heap overflow error
  1424.  
  1425.         The program has run out of memory.  Refer to run-time error #8.
  1426.  
  1427.  
  1428.   216 : General protection fault
  1429.  
  1430.         The program tried to access memory outside of its legal range.
  1431.         This is most likely a programming error, unless you are performing
  1432.         a warm or cold reboot under a multitasker (execute a Hardware Reset
  1433.         instead).  
  1434.  
  1435.   c r e d i t s
  1436.   ──────────────────────────────────────────────────────────────────────────
  1437.  
  1438.  
  1439.   DESQview is a registered trademark of Quarterdeck Office Systems.
  1440.   
  1441.   
  1442.   Fido and FidoNet are registered trademarks of Tom Jennings.
  1443.  
  1444.   
  1445.   IBM is a registered trademark of the International Business Machines
  1446.   Corporation.
  1447.   
  1448.   
  1449.   IceChat is (c) 1993-1995 Jeremy Landvoigt.  
  1450.   
  1451.   
  1452.   Legend of the Red Dragon is copyright 1992-1995 Robinson Technologies.
  1453.  
  1454.  
  1455.   Microsoft, MS, and MS-DOS are registered trademarks of Micrsoft Corp.
  1456.   
  1457.   
  1458.   OS/2 is a registered trademark of International Business Machines Corp.
  1459.   
  1460.   
  1461.   RemoteAccess is (c) 1989-1994 Wantree Development & Andrew Milner
  1462.  
  1463.   
  1464.   Ripscript & Ripterm are registered trademarks of TeleGrafix Communications.
  1465.   
  1466.   
  1467.   TheDraw is (c) 1986-1993 by TheSoft Programming Services and Ian E. Davis
  1468.   
  1469.   
  1470.   TurboPascal is a registered trademark of Borland International, Inc.
  1471.   
  1472.   
  1473.   WildCat! is copyright 1987-1995 Mustang Software, Inc.
  1474.  
  1475.  
  1476.   Win, Windows and Windows NT are registered trademarks of Microsoft Corp.
  1477.  
  1478.   
  1479.   WordStar is a registered trademark of MicroPro International Corporation.
  1480.  
  1481.   
  1482.  
  1483.   q u o t e s
  1484.   ──────────────────────────────────────────────────────────────────────────
  1485.  
  1486.   "The most beautiful thing we can experience is the mysterious.  It is the
  1487.   source of all true art and science.  He to whom this emotion is a stranger,
  1488.   who can no longer wonder and stand rapt in awe, is a good as dead; his
  1489.   eyes are closed. ... To know that what is impenetrable to us really exists,
  1490.   manifesting itself as the highest wisdom and the most radiant beauty which
  1491.   our dull facilities can comprehend only in the most primitive forms -- this
  1492.   knowledge, this feeling, is at the center of true religiousness.  In this
  1493.   sense, and in this sense only, I belong to the ranks of the devoutly
  1494.   religious men."
  1495.     
  1496.     - Albert Einstein
  1497.  
  1498.  
  1499.   "A human being is part of the whole, called by us 'Universe.'... He
  1500.   experiences himself, his thoughts and feelings as something separated from
  1501.   the rest -- a kind of optical delusion of his consciousness.  This
  1502.   delusion is a kind of prison for us, restricting us to our personal
  1503.   desires and to affection for a few persons nearest to us.  Our task must
  1504.   be to free ourselves from this prison by widening our circle of compassion
  1505.   to embrace all living creatures and the whole of nature in its beauty."
  1506.   
  1507.     - Albert Einstein
  1508.  
  1509.  
  1510.   "Love the animals.  God has given them the rudiments of thought and joy
  1511.   untroubled.  Don't trouble it, don't harass them, don't deprive them of
  1512.   their happiness, don't work against God's intent."
  1513.  
  1514.     - Dostoevsky, The Brothers Karamazov
  1515.  
  1516.  
  1517.   The only way of discovering the limits of the possible is to
  1518.   venture a little way past them into the impossible.
  1519.  
  1520.     - Second law of Clarke's Laws of Prophecy
  1521.       Arthur C. Clarke, Profiles of the Future
  1522.  
  1523.  
  1524.   "On his dreadful journey, after the shaman has wandered through dark
  1525.   forests and over great ranges of mountains, ... he reaches an opening
  1526.   in the ground.  The most difficult stage of the adventure now begins.
  1527.   The depths of the underworld open before him."
  1528.  
  1529.     - Uno Harva, quoted by Joseph Campbell in
  1530.       The Hero with a Thousand Faces
  1531.  
  1532.   
  1533.  
  1534.